// ==UserScript==
// @name         自动填充jira参数2
// @namespace    http://jira.seeyona9.com/
// @version      2.0
// @description  jira很多参数每次都要输入，这个脚本将稍微减少你的工作量，我的朋友！
// @author       阿根
// @match        http://jira.seeyona9.com/*
// @grant        none
// @require      http://code.jquery.com/jquery-1.11.0.min.js
// ==/UserScript==

/*
要实现的功能是只要点击新建，就会在弹出页面自动填充参数，思路如下：
1. 首先监听这个点击事件，也就是触发这个脚本，用到了addEventListener这个方法
2. 触发程序之后就要获取悬窗元素，这里存在一个问题，就是悬窗的页面是js新生成的，直接运行定位的语句会太快，导致悬窗元素还没渲染出来程序就跑完了，这里我加了window.setInterval方法循环执行来获取元素，这样就能保证定位成功
3. 此外，当成功定位之后就要停止循环，以免自己输入的又被循环的语句内容覆盖，用到了clearInterval
补充脚本中用到的方法：
1. 元素定位用document.getElementById
2. 设置标签属性属性用setAttribute
3. 定位下拉选项用ptions[]
4. 创建文本标签并添加到某个标签下的reateTextNode和appendChild
**/
var btn = document.getElementById("create_link");
//监听新建（点击）事件
btn.addEventListener('click', function(){
    //点击触发循环
    var myLoop = window.setInterval(function(){
        autoFill();//引用循环函数
    }, 500);//每0.5秒执行一次循环

    //循环函数
    function autoFill(){
        if(document.querySelector("#create-issue-dialog")){

            //var option = select.options[1].text; //这个是生效的,select是定位的变量，删掉了
            //alert(option); //这个是生效的，这个用于调试
            //var option2 = select.options[2].value = "001"; //这个是生效的
            //var option5 = select.setAttribute('autocomplete','off');
            //var option4 = select.setAttribute('aria-label','影响版本必选项- V8 Sprint3.');
            //select.options[1].selected=true;

            var description="【步骤】：\n【预期】：\n【实际】：\n【地址】：\n【账号】：\n";
            document.querySelector("#description").value=description;

            var selectBanben = document.getElementById('versions'); //定位下来控件
            var optionBanben = selectBanben.options[13].setAttribute('selected','selected'); //设置下拉项选择属性selected='selected'

            var banbenTxt1 = selectBanben.options[13].text; //获取选定是下拉项文本
            var showBanben=document.getElementById("versions-multi-select"); //定位文本
            var banbenTxt2 =document.createTextNode(banbenTxt1); //
            showBanben.appendChild(banbenTxt2); //

            var selectKehu = document.getElementById('customfield_10700');
            var optionKehu = selectKehu.options[0].setAttribute('selected','selected');

            var selectAnquanjibie = document.getElementById('security');
            var optionAnquanjibie= selectAnquanjibie.options[1].setAttribute('selected','selected');

            var selectMokuai = document.getElementById('components');
            var optionMokuai = selectMokuai.options[2].setAttribute('selected','selected');

            var mokuaiTxt1 = selectMokuai.options[2].text;
            var showMokuai=document.getElementById("components-textarea");
            var mokuaiTxt2 =document.createTextNode(mokuaiTxt1);
            showMokuai.appendChild(mokuaiTxt2);

            var selectErjiMokuai = document.getElementById('customfield_10222');
            var optionErjiMokuai = selectErjiMokuai.options[7].setAttribute('selected','selected');

            var selectLiulanqi = document.getElementById('customfield_10207');
            var optionLiulanqi = selectLiulanqi.options[4].setAttribute('selected','selected');

            var selectQianhouduan = document.getElementById('customfield_10400');
            var optionQianhouduan = selectQianhouduan.options[3].setAttribute('selected','selected');

            var selectHuanjing = document.getElementById('customfield_10801');
            var optionHuanjing = selectHuanjing.options[1].setAttribute('selected','selected');

            clearInterval(myLoop);
        };
    };
});
